<#--
    -ObjectMap
    -------------------------
    -OBJECT_CODE
    -OBJECT_CODE_UPPERCASE
    -OBJECT_CODE_LOWERCASE
    -OBJECT_CODE_BEAN_PATTERN
    -OBJECT_CODE_CAMLE_CASE

    -ObjectMap.attributesList
    -----------------------------------------
    -ATTRIBUTE_CODE
    -ATTRIBUTE_CODE_UPPERCASE
    -ATTRIBUTE_CODE_LOWERCASE
    -ATTRIBUTE_CODE_BEAN_PATTERN
    -ATTRIBUTE_CODE_CAMEL_CASE

    -ATTRIBUTE_CODE_DATATYPE
    -ATTRIBUTE_IS_PRIMARY_KEY
    -ATTRIBUTE_IS_FOREIGN_KEY
    

  
 -->

package ${ObjectMap.SERVICE_PACKAGE}.${ObjectMap.OBJECT_CODE_BEAN_PATTERN};

import com.ats.feeder.model.entities.${ObjectMap.OBJECT_CODE_BEAN_PATTERN}.${ObjectMap.OBJECT_CODE_CAMLE_CASE};
import com.ats.feeder.model.exceptions.common.CreateEntityException;
import com.ats.feeder.model.exceptions.common.UpdateEntityException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author mohammad
 */
@Local
public interface ${ObjectMap.OBJECT_CODE_CAMLE_CASE}ServiceLocal {
  
 <#if ObjectMap.EM_HAS_FILTERATION ="true">


            <#assign argument = "">
            <#assign argument2 = "">

            <#list ObjectMap.attributesList   as  myList>
                <#if myList.FILTER_BY = "true">
                    <#if myList.ATTRIBUTE_CODE_DATATYPE !="Other">
                               <#assign argument = argument + myList.ATTRIBUTE_CODE_DATATYPE>
                    <#else>
                               <#assign argument = argument + myList.FIELD_DATA_TYPE>
                    </#if>
                                <#assign argument = argument + " " + myList.ATTRIBUTE_CODE_BEAN_PATTERN>
                                <#assign argument2 = argument2 + myList.ATTRIBUTE_CODE_BEAN_PATTERN>
                               <#if myList_has_next>
                                    <#assign argument = argument + ", ">
                                    <#assign argument2 = argument2 + ", ">
                               </#if>
                </#if>
            </#list>

  List<${ObjectMap.OBJECT_CODE_CAMLE_CASE}> getByCriterion${ObjectMap.OBJECT_CODE_CAMLE_CASE}();
</#if>

 <#if ObjectMap.EM_HAS_INSERT ="true">
     ${ObjectMap.OBJECT_CODE_CAMLE_CASE} create${ObjectMap.OBJECT_CODE_CAMLE_CASE}(${ObjectMap.OBJECT_CODE_CAMLE_CASE} ${ObjectMap.OBJECT_CODE_BEAN_PATTERN})  throws CreateEntityException;
</#if>

 <#if ObjectMap.EM_HAS_UPDATE ="true">
     ${ObjectMap.OBJECT_CODE_CAMLE_CASE} update${ObjectMap.OBJECT_CODE_CAMLE_CASE}(${ObjectMap.OBJECT_CODE_CAMLE_CASE} ${ObjectMap.OBJECT_CODE_BEAN_PATTERN}) throws UpdateEntityException;
</#if>

 <#if ObjectMap.EM_HAS_UPDATE ="true">
     boolean delete${ObjectMap.OBJECT_CODE_CAMLE_CASE}(${ObjectMap.OBJECT_CODE_CAMLE_CASE} ${ObjectMap.OBJECT_CODE_BEAN_PATTERN}) throws DeleteEntityException;
</#if>
    
}
